<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;
use App\Home\Member;
// aravel 6.x 版本已经取消 Input Facades 了 。
// use Illuminate\Support\Facades\Input;
class TestController extends Controller
{
    //
    public function test(){
        return phpinfo();
    }
    public function add(){
        echo '我是add操作';
        $db=DB::table('people');
        $result=$db->insert([
            [
                'name'=>'张三',
                'age'=>'18',
                'school'=>'广州大学'
            ],
            [
                'name'=>'李四',
                'age'=>'18',
                'school'=>'北京大学'
            ],

            [
                'name'=>'王五',
                'age'=>'20',
                'school'=>'南京大学'
            ]        
        ]);
        //插入一条记录 insertGetId返回自增id
        $result2=$db->insertGetId(
            [
                'name'=>'李六',
                'age'=>'23',
                'school'=>'东京大学'
            ]   
        );
        // dd($result);
        echo $result2;
    }
    public function del(){
        echo '我是del操作';
    }
    public function update(){
        echo '我是update操作';
        $db=DB::table('people');
        $result=$db->where('id','<','22')->update([
            'name'=>'张三'
        ]);
        // 返回受到影响的行数
        dd($result);
    }
    public function select(){
        echo '我是select操作';
        $db=DB::table('people');
        $result=$db->get();
        // dd($result);
        // 遍历数据
        foreach($result as $key =>$value){
            // 双引号强制解析变量,for循环出来后是一个对象
            echo "ID:{$value->id},姓名:{$value->name},年龄:{$value->age},学校:{$value->school}</br>";
        }
    }
    public function input(){
        echo '接收用户输入已被取消';
    }
    // 通过模型对数据库进行增删改查
    public function test1(){
        // 查询一条数据
        // $data=Member::find(26)->toArray();
        // dd($data);
        //查询符合条件的第一条记录
        // $result=Member::where('id','>',4) -> first()->toArray();
        // dd($result);
        // 查询多行并指定字段
        // 使用all()之前不能使用其他方法
        $data=Member::all()->toArray();
        dd($data);
    }
    public function test2(){
        // ar模式修改操作
        $data=Member::find(26);
        $data->name='李江';
        $result=$data->save();
        dd($data->name,$result);
    }
    public function test3(){}
    public function test4(){}
    public function login(Request $request){
        $request_method = $request->getMethod();
        echo $request_method;
        if ($request->isMethod('post')) {
            $this->validate($request,[
                'name'=>'required|min:2|max:20',
                'age'=>'required|integer|min:1|max:100',
                'email'=>'required|email',
            ]);
        }else{
            return view('home.login');
        }
        
    }
    public function test5(Request $request){
        $request_method = $request->getMethod();
        echo $request_method;
        $data=Member::paginate(2);
        dd($data);
        // if($request->isMethod('POST')){
            
            
        // }else{
        //     return view('home.test5');
        // };
    }
    public function test6(){
        // 原生sql
        // $user=DB::select('SELECT * FROM people');
        // dd($user);
        // return $user;
        // 查询构造器
        // $user=DB::table('people')->get();
        // return $user;
        // dd($user);
        // $user=DB::table('people')->count();
        // return $user;
        // return [DB::table('people')->where('id',19)->exists()];
        // $user=DB::table('people')->where('name','like', '%李%')->get();
        $user=DB::table('people')->whereIn('id',[10,20,30])->get();
        dd($user);
        // return json_encode($user);
    }

}
